package com.lmy.springboot.config;

import com.lmy.springboot.filter.LmyFilter;
import com.lmy.springboot.listener.LmyListener;
import com.lmy.springboot.servlet.Servlet_;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Arrays;

/**
 * 这是一个配置类
 * proxyBeanMethods=true，默认是单例返回注入的Bean
 * 1.除了可以通过@WebServlet @WebFilter @WebListener注入javaWeb三大组件到spring容器
 * 2.还可以通过在配置类中通过@Bean标注方法来注入到容器
 */
@Configuration
public class RegisterConfig {


//    /**
//     * 注入一个自定义servlet
//     * @return
//     */
//    @Bean
//    public ServletRegistrationBean servlet() {
//        Servlet_ servlet = new Servlet_();
//        //可以指定多个url映射路径
//        return new ServletRegistrationBean(servlet, "/myServlet");
//    }
//
//    /**
//     * 注入一个自定义filter
//     * @return
//     */
//    @Bean
//    public FilterRegistrationBean filter() {
//        LmyFilter lmyFilter = new LmyFilter();
//        //可以指定多个url映射路径'
//        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(lmyFilter);
//        //设置过滤路径
//        filterRegistrationBean.setUrlPatterns(Arrays.asList("/*"));
//        return new FilterRegistrationBean(lmyFilter);
//    }
//
//    /**
//     * 注入一个自定义监听器
//     * @return
//     */
//    @Bean
//    public ServletListenerRegistrationBean listener() {
//        LmyListener lmyListener = new LmyListener();
//        return new ServletListenerRegistrationBean(lmyListener);
//    }
}
